Page Events (Init, Load, PreRender, Unload)

Microsoft Technologies - এএসপি ডট নেট ওয়েব (ASP.Net WP) ASP.NET Web Forms এর পেজ লাইফসাইকেল (Page Lifecycle) |
185
185

ASP.NET Web Forms পেজের জন্য একটি নির্দিষ্ট Page Lifecycle থাকে, যা কয়েকটি গুরুত্বপূর্ণ ধাপের মাধ্যমে সম্পন্ন হয়। এই ধাপগুলোতে বিভিন্ন page events ট্রিগার হয়, যেমন Init, Load, PreRender, এবং Unload। প্রতিটি ইভেন্ট পেজের একটি নির্দিষ্ট অংশে কার্যকরী হয় এবং ডেভেলপারদের তাদের অ্যাপ্লিকেশন কন্ট্রোল এবং কার্যকারিতা নির্ধারণ করতে সহায়তা করে।


1. Init (Initialization)

Init ইভেন্টটি পেজের প্রথম ধাপে ঘটে, যখন পেজটি শুরু হয় এবং তার কন্ট্রোলগুলো ইনিশিয়ালাইজ করা হয়। এই ধাপে পেজের সব কন্ট্রোল (যেমন, TextBox, Button, GridView ইত্যাদি) create এবং initialize করা হয়, কিন্তু কন্ট্রোলগুলোর properties ডেটা এখনও লোড হয় না।

এই ইভেন্টের ব্যবহার:

  • কন্ট্রোলগুলোর প্রাথমিক অবস্থান এবং কনফিগারেশন সেট করা।
  • কন্ট্রোলের মান সেট করা (যেমন ডিফল্ট ভ্যালু বা টেক্সট)।
  • যেকোনো এক্সটার্নাল রিসোর্স (যেমন ডেটাবেস কানেকশন) ইনিশিয়ালাইজ করা।

কোড উদাহরণ:

protected void Page_Init(object sender, EventArgs e)
{
    // কন্ট্রোল ইনিশিয়ালাইজেশন
    Label1.Text = "Welcome to the page!";
}

2. Load (Loading)

Load ইভেন্টটি Init এর পর ঘটে, যখন পেজ এবং তার কন্ট্রোলগুলি ক্লায়েন্টে লোড হয়। এই ধাপে পেজের properties (যেমন TextBox এর টেক্সট বা GridView এর ডেটা) লোড হয় এবং এটি সার্ভারের মধ্যে প্রক্রিয়া হয়। এটি সাধারণত ইউজারের ইনপুট ডেটা গ্রহণের জন্য ব্যবহৃত হয়।

এই ইভেন্টের ব্যবহার:

  • ইউজারের ইনপুট ডেটা প্রক্রিয়া করা (যেমন, ফর্ম ফিল্ড ভ্যালিডেশন)।
  • ডেটা বাইন্ডিং বা ডেটাবেস থেকে ডেটা রিট্রাইভ করা।
  • UI কন্ট্রোলের ডেটা লোড করা।

কোড উদাহরণ:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        // ডেটাবেস থেকে ডেটা লোড করা
        GridView1.DataSource = GetData();
        GridView1.DataBind();
    }
}

3. PreRender

PreRender ইভেন্টটি Load এর পর ঘটে, কিন্তু এটি রেন্ডারিংয়ের আগে। এই ধাপে পেজ এবং কন্ট্রোলের শেষ মুহূর্তের পরিবর্তন সম্পন্ন হয় এবং পেজের HTML তৈরি হতে শুরু করে। PreRender ইভেন্টে যেসব পরিবর্তন করা হয় তা ক্লায়েন্ট ব্রাউজারে রেন্ডার হওয়ার আগে হয়, তাই এই ধাপে কন্ট্রোলগুলোর উপর ফাইনাল সেটিংস করা হয়।

এই ইভেন্টের ব্যবহার:

  • কন্ট্রোলের শেষ মুহূর্তের প্রপার্টি সেট করা (যেমন, কন্ট্রোলের ভিজিবিলিটি বা স্টাইল পরিবর্তন)।
  • কাস্টম রেন্ডারিং প্রস্তুতি।
  • ডেটা ফরম্যাটিং এবং ফাইনাল টাচ যোগ করা।

কোড উদাহরণ:

protected void Page_PreRender(object sender, EventArgs e)
{
    // কন্ট্রোলের স্টাইল পরিবর্তন করা
    if (GridView1.Rows.Count > 0)
    {
        GridView1.ForeColor = System.Drawing.Color.Red;
    }
}

4. Unload

Unload ইভেন্টটি পেজের জীবনের শেষ ধাপে ঘটে, যখন পেজের প্রক্রিয়া সম্পন্ন হয়ে যায় এবং সমস্ত রিসোর্স ক্লিয়ার করা হয়। এটি garbage collection এর অংশ হিসেবে কাজ করে, যেখানে মেমরি থেকে অব্যবহৃত রিসোর্স মুক্ত করা হয়।

এই ইভেন্টের ব্যবহার:

  • রিসোর্স ক্লিয়ার করা (যেমন, ডেটাবেস সংযোগ বা ফাইল স্ট্রিম বন্ধ করা)।
  • লগিং বা ডিবাগিং ইনফরমেশন প্রদান করা।

কোড উদাহরণ:

protected void Page_Unload(object sender, EventArgs e)
{
    // রিসোর্স ক্লিয়ার করা
    // কোনো ডেটাবেস সংযোগ বন্ধ করা অথবা ফাইল স্ট্রিম বন্ধ করা
}

সার্বিক চিত্র

প্রতিটি ইভেন্টের কাজ একে অপরের সাথে সংযুক্ত থাকে এবং Page Lifecycle এর মাধ্যমে পেজের প্রতিটি ধাপ পরিচালিত হয়। এই ইভেন্টগুলোতে ডেভেলপাররা তাদের ওয়েব পেজের কার্যকারিতা এবং ইউজার ইন্টারফেস নিয়ন্ত্রণ করতে পারেন।

কোনো ইভেন্টে কি কাজ করা উচিত?

  • Init: পেজের কন্ট্রোলের প্রাথমিক ইনিশিয়ালাইজেশন।
  • Load: ইউজারের ইনপুট নেওয়া এবং ডেটা লোড করা।
  • PreRender: কন্ট্রোলের সর্বশেষ প্রপার্টি সেট করা এবং UI কাস্টমাইজেশন।
  • Unload: রিসোর্স ক্লিয়ার করা এবং মেমরি মুক্ত করা।

এই ইভেন্টগুলোর সঠিক ব্যবহার ওয়েব পেজের কার্যকারিতা এবং পারফরম্যান্স বৃদ্ধিতে সহায়তা করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion